Computers have become highly integrated in the workforce, in the home, in mobile devices, and many other places. Computers can process massive amounts of information quickly and efficiently. Software applications designed to run on computer systems allow users to perform a wide variety of functions including business applications, schoolwork, entertainment and more. Software applications are often designed to perform specific tasks, such as word processor applications for drafting documents, or email programs for sending, receiving and organizing email.
Software applications may be configured for use on a single, local computer system, or they may be configured for distribution over multiple different computer systems. Such applications are referred to as “distributed applications”. These applications may be divided into different portions, and each portion may be executed in parallel with the other portions. Similarly, applications may be configured to process local data arrays or distributed data arrays. Distributed data arrays may be stored on and/or processed over multiple different databases. Performing operations that are consistently applied across the distributed data arrays, however, may be problematic.